package zust.se.delicious.dao;

import java.util.List;

import zust.se.delicious.domain.Follow;
import zust.se.delicious.domain.User;

public interface FollowDao {
	boolean isFollow(Follow Follow);

	Follow get(Integer id);

	Long countFollow(Integer uid);

	Long countFollowing(Integer uid);

	Integer save(Follow Follow);

	void update(Follow Follow);

	void delete(Follow Follow);

	void delete(Integer id);

	boolean delete(Integer uid, Integer fid);

	List<Follow> findAll();

	List<Follow> findFollowerByUser_id(Integer id);

	List<Follow> findFollowingByUser_id(Integer id);

	List<User> getFollowerList(final int uid, final int page, final int size);

	List<User> getFollowingList(final int uid, final int page, final int size);
}
